1. Field of the Invention
The present invention relates to providing virtual private network (VPN) service in a managed network environment (e.g., a service provider's routed backbone network that spans a large geographical area). In particular, the present invention relates to providing a multicasting capability in a virtual private LAN service (VPLS) implemented in such an environment.
2. Discussion of the Related Art
Virtual Private LAN service (VPLS) is an emerging standard aimed at providing a multipoint-to-multipoint service to connect multiple local area networks (LANs) or virtual LANs (VLANs) that are dispersed over a large geographical area. Ideally, the VPLS is transparent, such that all the connected LANs appear to be part of the same LAN. A typical VPLS is built using the infrastructure of a service provider's wide area network1 (WAN). Traffic of such a WAN is typically handled using the Internet Protocol/Multi-Protocol Labeled Switching (IP/MPLS) routing protocols. FIG. 1 shows the reference topology of a network that supports a proposed VPLS service. As shown in FIG. 1, VPLS network 100 includes customer edge (CE) device 101-1 to 101-n, each connected to one or more LANs. The LANs connected to CE device 101-1 to 101-n are often located at sites that are separated from each other over great geographical extents. Each of CE devices 101-1 to 101-n is connected to a provider edge (PE) device (i.e., one of PE devices 103-a to 103-n), which provides connectivity between the CE devices over the IP/MPLS infrastructure over WAN 102. 1For our purpose, wide area network includes all non-local area networks, such as “metro area network.”
At present, two VPLS standards have been proposed: (a) “Draft Kompella,” available at the Internet Engineering Task Force (IETF) website, and (b) “Draft Lasserre-Vkompella,” also available at the IETF website. Under one proposal, each PE device provides Layer 2 connectivity service by serving as a bridge between its associated CE device or devices and an emulated LAN interface. The emulated LAN interface allows devices attached to different CE devices to communicate with each other using, for example, Ethernet media access control (MAC) addresses. In essence, PE devices 103-1 to 103-n and WAN 102 together form a hub device. Traffic between PE devices can be handled using, for example, point-to-point MPLS virtual circuit (VC) labeled switched paths (LSPs) (i.e., “pseudo-wires”). Such an LSP may be implemented as a virtual circuit within an MPLS tunnel LSP. This process is illustrated, for example, in FIG. 2, where customer packet 201 is encapsulated by an MPLS overhead 202 that includes an MPLS tunnel identifier 202a and virtual circuit identifier 202b. 
When a PE device receives a customer packet from an associated CE device, the PE device looks up a forwarding information base (FIB) to determine if the destination device specified in the customer packet is a known device. If the destination device is a known device, the FIB maps an VC-LSP that connects the receiving PE device to a destination PE device. The destination PE device is the PE device that is connected to the CE to which the destination device is attached. The emulated LAN interface then provides the proper encapsulation to the customer packet, and transmits the encapsulated packet over the mapped LSP. If the destination device is not known or if it is a multicast, the customer packet is replicated and the copies are sent to all PE devices associated with that VPLS. In the case of an unicast to an unknown destination device, when the destination device acknowledges, the LSP or LSPs associated with the MAC address are learned.
The benefits of VPLS are numerous. For example, VPLS allows the service provider to provide multiple services on the same managed network, e.g., IP unicast and multicast access, point-to-point virtual circuits and point-to-multipoint VPNs. From the service provider's viewpoint, because encapsulation occurs at the PE devices, only the PE devices are required to learn the MAC addresses within the customer LANs or VLANs, and it is required only to learn those MAC addresses associated with the VPLS with which the PE device is associated. In addition, the well-developed tools for MPLS traffic engineering and LSP load balancing afford the service provider great flexibility in tailoring quality-of-service (QoS) and service level agreements (SLAs) for the VPLS consistent with its network resource allocation objectives.
VPLS is thus very efficient in handling customer point-to-point unicast traffic. As to customer multicast traffic, however, even though only those PE devices that are interfaced to participants of the multicast (i.e., CE devices of the VPLS that are involved in the multicast) need to receive the replicated packet, both proposed VPLS standard require that all PE devices receive the replicated packet. Of even more serious consequence, the frequent unnecessary replications (“head-end replications”) is an inefficiency that erodes the available bandwidth.
Accordingly, a scalable VPLS multicast capability is desired.